#include "luat_base.h"
#include "luat_lcd.h"

#define LUAT_LOG_TAG "gc9306x"
#include "luat_log.h"

static const uint16_t gc9306x_init_cmds[] = {
    // 发送初始化命令
    0x02fe,
    0x02ef,
    0x023a,0x0305,
    0x02ad,0x0333,
    0x02af,0x0355,
    0x02ae,0x032b,
    0x02a4,0x0344,0x0344,
    0x02a5,0x0342,0x0342,
    0x02aa,0x0388,0x0388,
    0x02ae,0x032b,
    0x02e8,0x0311,0x030b,
    0x02e3,0x0301,0x0310,
    0x02ff,0x0361,
    0x02ac,0x0300,
    0x02af,0x0367,
    0x02a6,0x032a,0x032a,
    0x02a7,0x032b,0x032b,
    0x02a8,0x0318,0x0318,
    0x02a9,0x032a,0x032a,
    0x022a,0x0300,0x0300,0x0300,0x03ef,
    0x022b,0x0300,0x0300,0x0301,0x033f,
    0x022c,
    0x02F0,0x0302,0x0300,0x0300,0x031b,0x031f,0x030b,
    0x02F1,0x0301,0x0303,0x0300,0x0328,0x032b,0x030e,
    0x02F2,0x030b,0x0308,0x033b,0x0304,0x0303,0x034c,
    0x02F3,0x030e,0x0307,0x0346,0x0304,0x0305,0x0351,
    0x02F4,0x0308,0x0315,0x0315,0x031f,0x0322,0x030F,
    0x02F5,0x030b,0x0313,0x0311,0x031f,0x0321,0x030F,
};


luat_lcd_opts_t lcd_opts_gc9306x = {
    .name = "gc9306x",
    .init_cmds_len = sizeof(gc9306x_init_cmds)/sizeof(gc9306x_init_cmds[0]),
    .init_cmds = gc9306x_init_cmds,
    .direction0 = 0x48,
    .direction90 = 0xE8,
    .direction180 = 0x28,
    .direction270 = 0xF8
};

